﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
[assembly: CLSCompliant(true)]

namespace Chapter01
{
    partial class Program
    {
        internal static void Begin(Action action, bool active = false)
        {
            if (active)
            {
                Console.WriteLine("开始演示：");
                action();
                Console.WriteLine("演示完毕：");
                Console.ReadLine();
            }
        }


        internal static void C08()
        {
            var someLibraryTpye = new SomeLibraryType();
            someLibraryTpye.Abc();
        }

        private sealed class SomeLibraryType
        {
            internal UInt32 Abc()
            {
                return 0;
            }

            internal void abc()
            {

            }

            private UInt32 ABC()
            {
                return 0;
            }
        }

        internal sealed class Test
        {
            internal Test()
            {

            }

            ~Test()
            {

            }

            public static Boolean operator ==(Test t1, Test t2)
            {
                return true;
            }

            public static Boolean operator !=(Test t1, Test t2)
            {
                return false;
            }

            public static Test operator +(Test t1, Test t2)
            {
                return null;
            }

            public override bool Equals(object obj)
            {
                return base.Equals(obj);
            }

            public override int GetHashCode()
            {
                return base.GetHashCode();
            }

            internal String AProperty { get; set; }

            internal String this[Int32 x] { get { return null; } set { } }

            //event EventHandler AnEvent;
        }

    }
}
